The present invention relates to equalization techniques to compensate for channel transmission distortion in digital communication systems. In particular, the present invention relates to the efficient baseband and passband implementations of the Constant Modulus Algorithm (CMA), an equalization algorithm used in blind equalization systems.
Digital transmission of information typically involves the modulation of pulses onto an RF carrier""s amplitude and/or phase. Most propagation mediums (terrestrial, cable, underwater, etc.) introduce signal distortion. Factors that cause distortions include noise, signal strength variations, phase shift variations, multiple path delays, and the like.
Noise is also known as static. Signal strength variations are commonly known as fading. In addition, multiple different paths between the transmitter and receiver through the propagation medium cause multiple path delays. The different paths have different delays that cause replicas of the same signal to arrive at different times at the receiver (like an echo). Multi-path distortion results in inter-symbol interference (ISI) in which weighted contributions of other symbols are added to the current symbol.
In addition to distortion and noise from the propagation medium, front-end portions of the receiver and transmitter also introduce distortion and noise. The presence of distortion, noise, fading and multi-path introduced by the overall communication channel (transmitter, receiver and propagation medium), can cause digital systems to degrade or fail completely when the bit error rate exceeds some threshold and overcomes the error tolerance of the system.
Equalization
Digital systems transmit data as symbols having discrete levels of amplitude and/or phase. To the extent that a symbol is received at a level that differs from one of the allowed discrete levels, a measure of communication channel error can be detected.
The digital receiver uses a slicer to make hard decisions as to the value of the received signal. A slicer is a decision device responsive to the received signals at its input, which outputs the projection of the nearest symbol value from the grid of constellation points. The output of the slicer thus corresponds to the allowed discrete levels.
At the receiver, it is known to use an equalizer responsive to the detected error to mitigate the signal corruption introduced by the communications channel. It is not uncommon for the equalizer portion of a receiver integrated circuit to consume half of the integrated circuit area.
An equalizer is a filter that has the inverse characteristics of the communication channel. If the transmission characteristics of the communication channel are known or measured, then the equalization filter parameters can be set directly. After adjustment of the equalization filter parameters, the received signal is passed through the equalizer, which compensates for the non-ideal communication channel by introducing compensating xe2x80x9cdistortionsxe2x80x9d into the received signal which tend to cancel the distortions introduced by the communication channel.
However, in most situations such as in broadcasting, each receiver is in a unique location with respect to the transmitter.
Accordingly, the characteristics of the communication channel are not known in advance, and may even change with time. In those situations where the communication channel is not characterized in advance, or changes with time, an adaptive equalizer is used. An adaptive equalizer has variable parameters that are calculated at the receiver. The problem to be solved in an adaptive equalizer is how to adjust the equalizer filter parameters in order to restore signal quality to a performance level that is acceptable by subsequent error correction decoding.
In some adaptive equalization systems, the parameters of the equalization filter are set using a predetermined reference signal (a training sequence), which is periodically sent from the transmitter to the receiver. The received training sequence is compared with the known training sequence to derive the parameters of the equalization filter. After several iterations of parameter settings derived from adaptation over successive training sequences, the equalization filter converges to a setting that tends to compensate for the distortion characteristics of the communications channel.
In blind equalization systems, the equalizer filter parameters are derived from the received signal itself without using a training sequence. In the prior art, it is known to adjust the equalizer parameters blindly using the Least Mean Squares (LMS) algorithm, in which the training symbols are replaced with hard decisions, or best estimates of the original input symbols. Blind equalization systems using LMS in this manner are referred to as decision directed LMS (DD-LMS).
However, the DD-LMS algorithm requires a good initial estimate of the input signal. For most realistic communication channel conditions, the lack of an initial signal estimate results in high decision error rates, which cause the successively calculated equalizer filter parameters to continue to fluctuate, rather than converge to a desired solution. The parameters are said to diverge in such a case.
It is also known to use another algorithm, called the Constant Modulus Algorithm (CMA), in combination with the DD-LMS algorithm from a cold start. See D. N. Godard, xe2x80x9cSelf-recovering equalization and carrier tracking in two-dimensional data communication systems,xe2x80x9d IEEE Transactions on Communications, vol. 28, no 11, pp. 1867-1875, October 1980, or J. R. Treichler, B. G. Agee, An New Approach To Muli-Path Correction Of Constant Modulus Signals, IEEE Transactions On Acoustics Speech And Signal Processing, vol ASSP-31, no.2, page 459-472 April 1983. The CMA algorithm is used first to calculate the equalizer filter parameters, which is regarded as an initial estimate. Thereafter, the equalizer filter parameters (as calculated by the CMA algorithm) are used in an acquisition mode to find the initial equalizer filter parameters to start the DD-LMS algorithm.
The CMA algorithm (as well as the DD-LMS algorithm) is usually implemented with a gradient descent strategy in which the equalizer parameters are adapted by replacing the present equalizer parameter settings with their current values plus an error (or correction) term. See C. R. Johnson, Jr., P. Schniter, T. J. Endres, J. D. Behm, D. R. Brown, R. A. Casas, xe2x80x9cBlind equalization using the constant modulus criterion: a review,xe2x80x9d Proceedings of the IEEE, vol. 86, no. 10, pp. 1927-1950, October, 1998. The CMA error term itself is a cubic function of the equalizer output.
From a cold start, the receiver enters an acquisition mode. In the acquisition mode, the CMA algorithm is used first to adjust the equalizer parameters. Then, after a fixed period of time (or alternatively based on a measure, which is derived from the equalizer output), the receiver switches to the DD-LMS algorithm in a tracking mode. The acquisition mode typically requires up to 400,000 symbols. At a 10 MHz clock rate, the symbol rate is 100 nanoseconds and the time available for acquisition using the CMA algorithm is about 40 milliseconds. Overall, between the initial CMA algorithm and the following DD-LMS algorithm, the equalizer has about 100-200 milliseconds to converge.
A critical factor in an adaptive equalization system is to complete all the required multiplication operations within the time available: i.e., a single symbol interval (100 nanoseconds in the above example). In particular, the CMA error term calculation requires successive multiply operations for each equalizer parameter. One real multiply per equalizer parameter is needed for one-dimensional signaling, and one complex multiply (equivalent to 4 real multiplies) per equalizer parameter are needed for two-dimensional signaling.
Since a typical equalizer filter may have up to 512 filter coefficients (the number of equalizer filter parameters), the total time required to complete all the required multiplication operations with full precision often exceeds one symbol interval. That is, the large number of multiply operations often takes so long that the total time needed for calculation of all the equalizer filter coefficients exceeds the available time limit of one symbol interval. Thus, although the prior art scheme to use CMA and DD-LMS in series is theoretically possible, the large number of multiply operations prevents practical, economical commercial implementations in reasonably sized integrated circuit components.
One prior art solution to the problem of economical implementation includes calculating subsets of the equalizer filter coefficients in successive symbol intervals. Another prior art approach is to simplify the error term multiplication by using only the sign of the error term, i.e., +1 or xe2x88x921. In LMS, this variation is referred to as signed-error LMS (SE-LMS) in which the usual LMS error term is replaced by the sign (xc2x11) of the error. SE-LMS is easily implemented since the usual multiplier per equalizer parameter in the LMS update equation is replaced by a simple bit flip (a sign change) to represent multiplication by +1 or xe2x88x921. Similarly, in CMA a signed-error CMA (SE-CMA), is used to replace the usual, full precision CMA error term with its sign (+1 or xe2x88x921).
Since multiplication by +1 or xe2x88x921 is just a sign change, multiply calculations are very rapid. A modification of the signed error approach is to use three levels, +1, 0, xe2x88x921 for the error term in the multiplication. Since the number 0 is neither positive nor negative, multiplication by +1, 0, xe2x88x921 is still a simple and quick operation. However, approximating a term by its sign sacrifices accuracy and can increase the time required for the adaptive equalizer to converge to a solution. Furthermore, convergence is not guaranteed.
The present invention is embodied in a blind equalization system in which a quantized version of the CMA error function is computed using quantized input samples and stored in a lookup table (LUT). In particular, the quantized CMA error function is pre-computed by first quantizing input signal samples, then computing the quantized CMA error function based on the quantized input samples and storing the resulting quantized CMA error function in the lookup table memory. Use of quantized input signal samples to compute the CMA error function may be described as a decision directed CMA (DD-CMA) error function.
To quantize the input signal samples, a nearest-element decision device (a slicer), that is typically present in a digital receiver, is conveniently used in pre-computing the quantized CMA error function. Alternatively, a quantizer with different levels than the available slicer, and/or more levels than the available slicer is used to quantize the input samples. The result of quantizing the CMA error function by quantizing the input signal samples increases the quantization precision in areas of the CMA error function typically encountered when the equalizer parameters are near convergence. Conversely, quantization precision is reduced in the areas of the CMA error function typically encountered when the equalizer parameters are first set during initial signal acquisition.
The present technique for computing the DD-CMA error function in place of the CMA error function reduces the number of unique values for the DD-CMA error term. Due to the relatively reduced number of DD-CMA error term values, a lookup table solution becomes practical. That is, the output of the slicer assumes relatively few levels (i.e., the correct level for each transmitted symbol) as compared to the received signal samples at the output of the equalization filter, which can assume any level. As a result of using the output of the slicer (instead of the input of the slicer), the DD-CMA error term itself assumes a relatively small number of unique values. Each of these possible unique values for the DD-CMA error term is stored in a lookup table. In such manner, the DD-CMA error term is computed using a relatively small lookup table. A lookup table implementation is easily accomplished with one symbol interval so that latency is greatly reduced.
For example, in an 8 VSB system using an 8 bit digital/analog converter, the number of possible signal levels at the output of the receiver equalizer is 256. However, at the output of the slicer, number of possible signal levels is reduced to 8. By greatly reducing the number of received signal values used in the DD-CMA error calculation a relatively small lookup table can be used to compute the DD-CMA error function.
In the preferred embodiment the large number of multiply operations normally required in the application of the CMA error term for equalizer adaptation is replaced with programmable shifts and adders which values are retrieved in the receiver using a lookup table.